/*js编译器解析执行代码的过程

1.编译器从上往下依次解析代码
2.判断代码同步还是异步
    2.1 同步：立即执行
    2.2 异步：不执行，放入事件队列池Event Loop. 等页面所有同步执行结束后才会执行异步

*/


/* 同步与异步区别 

1.性能不同 ： 异步性能好(不会阻塞线程),同步阻塞线程
2.顺序不同 :  同步有序执行，异步无序执行
3.语法不同 :  异步代码一般都有回调函数
*/


const fs = require('fs')

//异步  async
fs.readFile('./test.txt','utf-8',(err,data)=>{
    if(err) throw err;
    else console.log('1-' + data); 
})

fs.readFile('./test.txt','utf-8',(err,data)=>{
    if(err) throw err;
    else console.log('2-' + data); 
})

let data1 =  fs.readFileSync('./test.txt','utf-8')
console.log('5-' + data1 );

fs.readFile('./test.txt','utf-8',(err,data)=>{
    if(err) throw err;
    else console.log('3-' + data); 
})

let data2 =  fs.readFileSync('./test.txt','utf-8')
console.log('6-' + data2 );

fs.readFile('./test.txt','utf-8',(err,data)=>{
    if(err) throw err;
    else console.log('4-' + data); 
})

//同步  sync
let data3 =  fs.readFileSync('./test.txt','utf-8')
console.log('7-' + data3 );

let data4 =  fs.readFileSync('./test.txt','utf-8')
console.log('8-' + data4 );